package com.fs.controller;

import com.fs.pojo.Item;
import com.fs.service.ItemService;
import com.fs.vo.ItemVo;
import com.fs.vo.PageResult;
import com.fs.vo.SysResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/item")
@CrossOrigin
public class ItemController {

    @Autowired
    private ItemService itemService;


    /**
     * 业务需求：商品列表展现
     * url:/item/getItemList?query=&pageNum=1&pageSize=10
     * 参数：pageResult对象
     * 返回值：SysResult(pageResult对象)
     * 类型：get
     * @param item
     * @return
     */
    @GetMapping("/getItemList")
    public SysResult getItemList(PageResult pageResult){//3个参数
        pageResult = itemService.getItemList(pageResult); //3+2
        return SysResult.success(pageResult);
    }

    /**
     * 实现商品新增
     * url：/item/saveItem
     * 请求类型：post
     * 参数信息：itemVO对象
     */
    @PostMapping("/saveItem")
    public SysResult saveItem(@RequestBody ItemVo itemVo){
        itemService.saveItem(itemVo);
        return SysResult.success();
    }

    /**
     * 需求：实现商品删除操作
     * url： /item/deleteItemById
     * 参数：id
     */
    @DeleteMapping("/deleteItemById")
    public SysResult deleteItemById(Integer id){
        itemService.deleteItemById(id);
        return SysResult.success();
    }

    /**
     *需求：实现商品状态修改操作
     * url:/item/updateItemStatus
     * 参数：item对象
     *
     */
    @PutMapping("/updateItemStatus")
    public SysResult updateItemStatus(Item item){
        itemService.updateItemStatus(item);
        return SysResult.success();
    }


    /**
     *需求：实现商品信息修改操作
     * url:/item/updateItem
     * 参数：item对象
     */
    @PutMapping("/updateItem")
    public SysResult updateItem(@RequestBody Item item){
        itemService.updateItem(item);
        return SysResult.success();
    }
}
